import serial  # 导入模块
import time

def assert_function(temp):
    try:
        # 端口，GNU / Linux上的/ dev / ttyUSB0 等 或 Windows上的 COM3 等
        # portx="COM3"
        portx = "/dev/ttyUSB0"
        # 波特率，标准值之一：50,75,110,134,150,200,300,600,1200,1800,2400,4800,9600,19200,38400,57600,115200
        bps = 115200
        # 超时设置,None：永远等待操作，0为立即返回请求结果，其他值为等待超时时间(单位为秒）
        timex = 5
        # 打开串口，并得到串口对象
        ser = serial.Serial(portx, bps, timeout=timex)
        if not ser.is_open:
            time.sleep(2)
        print(ser.port)
        print(ser.baudrate)
        # 写数据
        # 包头
        phead = time.localtime()
        # 长度
        length = '8'
        # 状态
        # temp = '00000001'
        all_inf = 'fc'+time.strftime('%Y%m%d', phead)+length+temp+'iot'
        print(all_inf)
        result = ser.write(all_inf.encode("ASCII"))
        print("写总字节数:", result)
        # print(ser.readline())
        # print(ser.in_waiting)
        # print(ser.out_waiting)
        ser.close()  # 关闭串口
    except Exception as e:
        print("---异常---：", e)

if __name__ == '__main__':
    assert_function('00000001')
